The best-known example of wireless personal area network (PAN) technology is the Bluetooth Standard, which operates in the 2.4 GHz ISM band. Bluetooth is a short-range radio network, originally intended as a cable replacement. Bluetooth devices are designed to find other Bluetooth devices and Bluetooth access points within their roughly ten meter radio communications range. Bluetooth is a time division multiplexed (TDM) system, where the basic unit is a slot of 625 microsecond duration. Each Bluetooth device may be either a master or a slave at any one time, but not simultaneously in the same piconet. The master device initiates an exchange of data by sending a packet in a slot and the slave device must respond to the master with a packet in the next slot indicating whether it successfully received the prior packet. The slave will not transmit again until the master again transmits to it. The Bluetooth Special Interest Group, Bluetooth Specification Including Core Volume 1.2, Nov. 5, 2003, (hereinafter “Bluetooth v1.2 Specification”) describes the principles of Bluetooth device operation and communication protocols. The Bluetooth v1.2 Specification is available from the Bluetooth Special Interest Group at the web site www.bluetooth.com.
A recent specification published by the Bluetooth Special Interest Group, Specification of the Bluetooth System, Volume 2.0+EDR, Nov. 4, 2004, (hereinafter “Bluetooth v2+EDR Specification”) describes the Enhanced Data Rate (EDR) Bluetooth, which permits speeds up to 2.1 Mbps, while maintaining backward compatibility. The Bluetooth v2+EDR Specification is available from the Bluetooth Special Interest Group at the web site www.bluetooth.com.
One application of the Bluetooth technology is to carry audio information, which enables designing devices such as wireless headsets. Audio data is carried via Synchronous Connection-Oriented (SCO) packets using coding schemes such as Continuously Variable Slope Delta (CVSD) modulation or a Pulse Code Modulation (PCM). When a SCO link is established, the packets are exchanged over the air between the master and a slave device by alternately transmitting and receiving the encoded audio data in consecutive SCO slots. An example of a Bluetooth wireless headset and a Bluetooth-enabled telephone terminal is shown in FIG. 1. The telephone terminal 100A includes a Bluetooth transceiver module 604 connected to the Bluetooth antenna 102A. The wireless headset 101A also includes a Bluetooth transceiver module connected to its own Bluetooth antenna. Either the headset or the telephone terminal can initially assume the role of the master device, depending on how the connection was initiated. When a SCO link 106A is established between the telephone terminal 100A and the wireless headset 101A, packets are exchanged over the air between the master and slave device by alternately transmitting and receiving the encoded audio data in consecutive SCO slots.
Wireless local area networks (WLAN) cover a larger radio communications range of up to one hundred meters. Examples of wireless local area network technology include the IEEE 802.11 Wireless LAN Standard. The 802.11b standard for wireless local area networks (WLANs), also called Wi-Fi, is part of the 802.11 series of WLAN standards from the Institute of Electrical and Electronics Engineers (IEEE). Networks employing 802.11b operate at radio frequencies in the 2.4 GHz ISM band, the same as that for Bluetooth. Like other 802.11 standards, 802.11b uses the Ethernet protocol and CSMA/CA (carrier sense multiple access with collision avoidance) for path sharing. The modulation method used in 802.11b is complementary code keying (CCK), which allows higher data speeds and is less susceptible to multipath-propagation interference. An example of a WLAN is shown in FIG. 1, where the telephone terminal 100A is a mobile device, which includes an IEEE 802.11b transceiver 602 connected to a WLAN antenna 103A. The WLAN access point 140A shown at location A in FIG. 1 also has an IEEE 802.11b transceiver connected to its own WLAN antenna. When an RF communications link 108A conforming to the IEEE 802.11b Standard is established between the telephone terminal 100A and the access point 140A, data frames containing encoded audio data are exchanged over the WLAN coverage area 150A between the telephone terminal 100A and the access point 140A. The access point 140A is shown connected by wireline to the IP Network 144, to exchange data frames containing voice over internet (VoIP) encoded audio data in a IP network.
FIG. 1 shows a second WLAN access point 140B shown at location B in FIG. 1 connected by wireline to the IP Network 144, establishing a second WLAN coverage area 150B. The WLAN access point 140B has an IEEE 802.11b transceiver connected to its own WLAN antenna. The second WLAN access point 140B communicates with a second telephone terminal 100B, which includes an IEEE 802.11b transceiver connected to a WLAN antenna 103B. When an RF communications link 108B conforming to the IEEE 802.11b Standard is established between the telephone terminal 100B and the access point 140B, data frames containing voice over internet (VoIP) encoded audio data are exchanged over the WLAN coverage area 150B between the telephone terminal 100B and the access point 140B. The telephone terminal 100B includes a Bluetooth transceiver module connected to the Bluetooth antenna 102B. The wireless headset 101B also includes a Bluetooth transceiver module connected to its own Bluetooth antenna. Either the headset or the telephone terminal can initially assume the role of the master device, depending on how the connection was initiated. When a SCO link 106B is established between the telephone terminal 100B and the wireless headset 101B, packets are exchanged over the air between the master and slave device by alternately transmitting and receiving the encoded audio data in consecutive SCO slots. In this manner, voice conversations can be established between users of the wireless headsets 101A and 101B.
The 802.11g specification is another standard for wireless local area networks (WLANs) that offers transmission over relatively short distances at up to 54 megabits per second (Mbps), compared to the 11 Mbps theoretical maximum with the earlier 802.11b standard. Networks employing 802.11g operate at radio frequencies in the 2.4 GHz ISM band, the same band as for Bluetooth and for 802.11b. But, the 802.11g specification employs orthogonal frequency division multiplexing (OFDM) to obtain higher data speed than that for 802.11b. Computers or terminals set up for 802.11g can fall back to speeds of 11 Mbps. This feature makes 802.11b and 802.11g devices compatible within a single network. The IEEE 802.11 Wireless LAN Standard is available from the IEEE, Inc. web site http://grouper.ieee.org/groups/802/11.
Combining the short range PAN (e.g., Bluetooth) and the longer range WLAN (e.g., IEEE 802.11g) features in a unitary, mobile terminal enables a user to tap into area-wide WLAN access points and to operate local I/O devices without a cable connection. An example of such a mobile terminal is the wireless telephone 100A of FIG. 1 that includes both a Bluetooth transceiver and a WLAN transceiver, enabling the user to receive a voice over internet (VoIP) telephone call from a WLAN access point 140A and to converse with the caller using the wireless headset 101A via the Bluetooth connection 106A between the headset and the telephone. A significant problem with a wireless telephone that includes both a Bluetooth transceiver and a WLAN transceiver is that the Wireless LAN and the Bluetooth networks both operate in the 2.4 GHz ISM band and therefore can interfere with each other.
The VoIP telephone call is established over Internet Protocol (IP) by using User Datagram Protocol (UDP) and Real Time Protocol (RTP). VoIP packets carry real time data in the Voice Payload. The standard for transmitting real time data in packet switched networks is ITU standard H.323, which uses RTP/UDP/IP encapsulation. Real-Time Transport Protocol (RTP) supports end-to-end delivery services of applications transmitting real-time data over IP networks. The RTP packet includes an RTP header and the Voice Payload. User Datagram Protocol (UDP) is a connectionless protocol that, like TCP, runs on top of IP networks. The UDP packet includes a UDP header and the RTP packet. UDP/IP offers a direct way to send and receive packets over an IP network. The IP packet includes an IP header, the UDP packet, and a CRC trailer field. The VoIP packet typically delivers 20 ms of speech and the size of the IP packet depends on the voice codec used in encoding the speech stream. The VoIP packet is sent to the mobile terminal 100A using the WLAN link 108A. In mobile terminal the VoIP packet is decoded and then re-encoded with a Bluetooth codec, which is a Continuously Variable Slope Delta (CVSD) modulation codec or a Pulse Code Modulation (PCM) codec described in the Bluetooth v1.2 Specification. In the receiving mode, the coded packet is delivered to the Bluetooth headset 101A and converted to voice. The sequence is reversed in the transmitting mode, although the processing capacity of the headset may limit applicable encoding schemes and hence also technical solutions to the interference problem.
The WLAN frame structure for the IEEE 802.11b standard carries the VoIP packet in the frame body field of the Medium Access Control (MAC) frame defined in the IEEE Standard. Each wireless station and access point in an IEEE 802.11 wireless LAN implements the MAC layer service, which provides the capability for wireless stations to exchange MAC frames. The MAC frame transmits management, control, or data between wireless stations and access points. After a station forms the applicable MAC frame, the frame's bits are passed to the transceiver for transmission. The WLAN data frame carrying a VoIP packet+ACK frame includes several additional components that give it an average duration of approximately 622 microseconds, which is approximately the same duration as a Bluetooth slot. The WLAN data frame begins with an interframe DIFS space of 50 microseconds, which ensures the previous transmission has completed and that it is safe to access the medium again. Next is a back-off wait interval averaging 80 microseconds to allow sharing the medium. Next is a 192 microsecond interval for the synchronization preamble. Next is the MAC frame payload of approximately 87 microseconds, which includes the VoIP packet. This is followed by the SIFS gap of ten microseconds between the data frame and its acknowledgement. This is followed by the WLAN acknowledgement (ACK) frame, which is 203 microseconds duration. The WLAN data frame is transmitted, on average, every twenty milliseconds in both the send and the receive directions.
Interoperability problems arise when WLAN transceivers and Bluetooth transceivers having their own separate antennas 102A and 103A are located in the same terminal 100A and have limited antenna isolation, as shown in FIG. 1. From an integration perspective, it is beneficial to utilize the same antenna and RF filter in a mobile terminal to reduce manufacturing cost and form factor, since both transceivers use the same 2.4 GHz band. In this case the access to the antenna for the WLAN and Bluetooth transceivers is arranged using a switch to connect one or the other of the transceivers to the antenna port at a time. An example of this is shown in FIG. 2 where the single antenna 105A of the terminal 100A is shared by both the Bluetooth transceiver and the WLAN transceiver. Similarly, the single antenna 105B of the terminal 100B is shared by both the Bluetooth transceiver and the WLAN transceiver. This arrangement requires that the Bluetooth and the WLAN transceivers in a terminal operate at different instants, requiring a coordinating control between the transceivers. Such a coordinating control must decide which transceiver can use the channel.
There are different requirements for the control, depending on whether the link is operating in real time for an interactive application, such as telephony, or whether the link is operating in a data transfer mode, such as file transfer protocol (FTP).
The WLAN access point is basically autonomous of the terminal, which has limited capabilities to affect downlink timing. Hence, the WLAN traffic cannot be reliably estimated by the terminal. Thus, when the access point is transmitting to the terminal, potentially many of the WLAN packets can be lost due simultaneous Bluetooth activity or a wrong switch position. To maintain speech integrity, retransmissions are required.
The Bluetooth v1.2 Specification defines different types of logical transports between the master and slave. Five logical transports have been defined:
1. Synchronous Connection-Oriented (SCO) logical transport, described above,
2. Extended Synchronous Connection-Oriented (eSCO) logical transport,
3. Asynchronous Connection-Less (ACL) logical transport,
4. Active Slave Broadcast (ASB) logical transport, and
5. Parked Slave Broadcast (PSB) logical transport.
The Synchronous Connection-Oriented (SCO) transports are point-to-point logical transports between a Bluetooth master and a single slave in the piconet. The synchronous logical transports typically support time-bounded information like voice or general synchronous data. The master maintains the synchronous logical transports by using reserved slots at regular intervals. Four packets are allowed on the SCO logical transport: HV1, HV2, HV3 and DV. The HV1 packet has 10 information bytes. The HV2 packet has 20 information bytes. The HV3 packet has 30 information bytes. The DV packet is a combined data and voice packet. On each SCO channel, n-bits are sent and received in consecutive SCO slots once every TSCO slots.
In addition to the reserved slots, the Extended Synchronous Connection-Oriented (eSCO) logical transport provides a retransmission window after the reserved slots. EV packets are used on the synchronous eSCO logical transport. The packets include retransmission if no acknowledgement of proper reception is received within allocated slots. eSCO packets may be routed to the synchronous I/O port. Three eSCO packets have been defined for Bluetooth. The EV3 packet has between 1 and 30 information bytes and may cover up to a single time slot. The EV4 packet has between 1 and 120 information bytes and may cover to up three time slots. The EV5 packet has between 1 and 180 information bytes and may cover up to three time slots. On each eSCO channel, n-bits are sent and received in consecutive eSCO slots once every period of TeSCO slots. Each packet header includes a one-bit acknowledge indication, ARQN, which indicates that the last prior packet was correctly received. With an automatic repeat request scheme, EV packets are retransmitted until acknowledgement of a successful reception is returned by the destination (or timeout is exceeded). As opposed to SCO links, eSCO links can be set up to provide limited retransmissions of lost or damaged packets inside a retransmission window of size WeSCO slots.
The Asynchronous Connection-Oriented (ACL) logical transport is also a point-to-point logical transport between the Bluetooth master and a slave. In the slots not reserved for SCO logical transport, the master can establish an ACL logical transport on a per-slot basis to any slave, including the slaves already engaged in a SCO logical transport. (Note that eSCO and SCO connections are optional and in some applications are not needed.) After a successful connection procedure, the devices are physically connected within a piconet. During the time that a slave device is actively connected to a piconet there is always a default ACL logical transport between the slave and the master device. The ACL logical transport uses error detecting and correcting coding. (Not all ACL packets use error detecting or correcting coding.) On ACL logical transports the results of the error detection are used for a simple acknowledgement/repeat request (ARQ) protocol to provide an enhanced reliability by retransmitting packets that do not pass the receiver's error checking algorithm.
The asynchronous connection-oriented (ACL) logical transport is used to carry best effort asynchronous user data that has no time-based characteristics and is normally expected to be retransmitted until successfully received. The ACL logical transport may also be used to transport isochronous data, such as audio or video data that has time-based characteristics. The isochronous data may be retransmitted until received or expired. The data rate on the isochronous link need not be constant, which is the main difference from synchronous links. The default ACL may be used for isochronous data transport by configuring it to automatically flush packets after the packets have expired.
After a successful connection procedure, the devices are in the active mode wherein both master and slave actively participate on the channel. The master schedules the transmission based on traffic demands to and from the slave and it supports regular transmissions to keep the slave synchronized to the channel. Slaves in the active mode listen in the master-to-slave slots for packets. The master can create and release additional logical links and to change the modes of the physical and logical links while remaining connected to the piconet physical channel. It is also possible for the device to carry out inquiry, paging or scanning procedures or to be connected to other piconets without needing to disconnect from the original piconet physical channel. Additional logical links are created using the Link Manager that exchanges Link Manager Protocol messages with the remote Bluetooth device to negotiate the creation and settings for these links.
The ACL logical transport link between a master and slave device can be changed from the active mode to the sniff mode, which is a common method for reducing power consumption in the slave device. When in the sniff mode the availability of the ACL logical transport is modified by defining a duty cycle consisting of periods of presence and absence. Slave devices that have their default ACL logical transports in the sniff mode may use the absent periods to enter reduced power mode. Sniff mode only affects the default ACL logical transports and does not apply to any additional SCO or eSCO logical transports that may be active between the slave and the master. In sniff mode, the duty cycle of the slave's activity in the piconet may be reduced. If a slave is in active mode on an ACL logical transport, it listens in every master-to-slave slot. With sniff mode, the time slots when a slave is listening are reduced, so the master only transmits to a slave in specified time slots called anchor points. The sniff anchor points are spaced regularly with an interval of Tsniff, as shown in FIG. 3. The slave listens in master-to-slave transmission slots starting at the sniff anchor point. It uses the following rules to determine whether to continue listening:                If fewer than Nsniff attempt master-to-slave transmission slots have elapsed since the sniff anchor point then the slave continues listening.        If the slave has received a packet with a matching address that contains ACL data in the preceding Nsniff timeout master-to-slave transmission slots then it continues listening.        If the slave has transmitted a packet containing ACL data in the preceding Nsniff timeout slave-to-master transmission slots then it continues listening.        If the slave has received any packet with a matching address in the preceding Nsniff timeout master-to-slave transmission slots then it may continue listening.        A device may override the rules above and stop listening prior to Nsniff timeout or the remaining Nsniff attempt slots if it has activity in another piconet.        
Two parameters control the listening activity in the slave: the sniff attempt (Nsniff attempt) and the sniff timeout (Nsniff timeout). The sniff attempt parameter determines for how many slots the slave listens, beginning at the sniff anchor point slot, even if it does not receive a packet with its own address. The sniff timeout parameter determines for how many additional slots the slave listens, if it continues to receive only packets with its own address. It is not possible to modify the sniff parameters while the device is in sniff mode. Either the master or the slave may request entry to sniff mode.
It is possible that activity from one sniff timeout may extend to the next sniff anchor point. Any activity from a previous sniff timeout does not affect activity after the next sniff anchor point. So in the above rules, only the slots since the last sniff anchor point are considered.
The sniff mode only applies to asynchronous logical transports. Sniff mode does not apply to the SCO and eSCO synchronous logical transports, therefore, both masters and slaves must still respect the reserved slots and retransmission windows of synchronous links.
The setting of the sniff anchor points is established using Bluetooth clock values. Every Bluetooth device has a native clock CLKN that is derived from a free running system clock. For synchronization with other devices, offsets are used that, when added to the native clock, provide temporary Bluetooth clocks that are mutually synchronized. The clock has a cycle of about a day that is implemented with a 28-bit counter that wraps around at 2281. The least significant bit (LSB) ticks in units of 312.5 μs (i.e. half a time slot), giving a clock rate of 3.2 kHz. The clock determines critical periods and triggers the events in the device. Four periods are important in the Bluetooth system: 312.5 μs, 625 μs, 1.25 ms, and 1.28 s; these periods correspond to the timer bits CLK0, CLK1, CLK2, and CLK12, respectively. CLK is the master clock of the piconet. It is used for all timing and scheduling activities in the piconet. All devices use the CLK to schedule their transmission and reception. The CLK is derived from the native clock CLKN by adding an offset. The offset is zero for the master since CLK is identical to its own native clock. Each slave adds an appropriate offset to its CLKN such that its CLK corresponds to the CLKN of the master. The master transmission always starts at even numbered time slots (CLK1=0) and the slave transmission always starts at odd numbered time slots (CLK1=1). The basic piconet physical channel is divided into time slots, each 625 μs in length. The time slots are numbered according to the most significant 27 bits of the Bluetooth clock CLK28−1 of the piconet master. The slot numbering ranges from 0 to 227−1 and is cyclic with a cycle length of 227.
To enter the sniff mode, the master or slave issues a sniff command via the Link Manager (LM) protocol. This message includes the sniff interval Tsniff and an offset Dsniff. In addition, an initialization flag indicates whether initialization procedure 1 or 2 is used. The device uses initialization 1 when the most significant bit (MSB) of the current master clock (CLK27) is 0; it uses initialization 2 when the MSB of the current master clock (CLK27) is 1. The slave applies the initialization method as indicated by the initialization flag irrespective of its clock bit value CLK27. The sniff anchor point determined by the master and the slave is initialized on the slots for which the clock satisfies the applicable equation:CLK27−1 mod Tsniff=Dsniff for initialization 1 or(CLK27,CLK26−1) mod Tsniff=Dsniff for initialization 2.This equation indicates that Dsniff must fall on an even slot.
After initialization, the clock value CLK(k+1) for the next sniff anchor point is derived by adding the fixed interval Tsniff to the clock value of the current sniff anchor point:CLK(k+1)=CLK(k)+Tsniff.
ACL packets can be specified as one of several packet types: DM1, DH1, DM3, DH3, DM5, and, DH5. (Also AUX1 is a ACL packet. AUX1 has no CRC and it is not retransmitted.) The designations “DM” stands for Data Medium rate and “DH” stands for Data High rate. DH packets achieve a higher rate because they use less error correction in the packet, leaving more room for data. The DM1 packet carries data information only. The payload has between 1 and 18 information bytes (including the 1-byte payload header) plus a 16-bit CRC code. The DM1 packet occupies a single time slot. The information plus CRC bits are coded with a rate 2/3 FEC. The payload header in the DM1 packet is 1 byte long. The DH1 packet is similar to the DM1 packet, except that the information in the payload is not FEC encoded. As a result, the DH1 packet has between 1 and 28 information bytes (including the 1-byte payload header) plus a 16-bit CRC code. The DH1 packet occupies a single time slot. The DM3 packet may occupy up to three time slots. The payload has between 2 and 123 information bytes (including the 2-byte payload header) plus a 16-bit CRC code. The information plus CRC bits are coded with a rate 2/3 FEC. The payload header in the DM3 packet is 2 bytes long. The length indicator in the payload header specifies the number of user bytes (excluding payload header and the CRC code). The DH3 packet is similar to the DM3 packet, except that the information in the payload is not FEC encoded. As a result, the DH3 packet has between 2 and 185 information bytes (including the 2-byte payload header) plus a 16-bit CRC code. The DH3 packet may occupy up to three time slots. The DM5 packet may occupy up to five time slots. The payload has between 2 and 226 information bytes (including the 2-byte payload header) plus a 16-bit CRC code. The payload header in the DM5 packet is 2 bytes long. The information plus CRC bits are coded with a rate 2/3 FEC. The length indicator in the payload header specifies the number of user bytes (excluding payload header and the CRC code). The DH5 packet is similar to the DM5 packet, except that the information in the payload is not FEC encoded. As a result, the DH5 packet has between 2 and 341 information bytes (including the 2-byte payload header) plus a 16-bit CRC code. The DH5 packet may occupy up to five time slots.
In the prior art, the Bluetooth link between the terminal and the headset typically uses the synchronous SCO transport and HV3 packet. Due to the synchronous nature of that transport, Bluetooth traffic can be estimated fairly accurately by the terminal. However, in the SCO transport, there are no retransmissions and therefore if the medium is reserved by the WLAN transceiver in the terminal at a particular moment or if the WLAN transceiver in the terminal is connected to the antenna, the SCO packet is permanently lost. For a VoIP packet received by the terminal from the WLAN access point and intended to be forwarded to the Bluetooth headset, a collision or packet loss will be likely occur once every 16 Bluetooth SCO slots. If HV2 or HV1 packets are used instead of HV3, collisions or packet loss will occur even more often, increasing the SCO packet loss by approximately 6%. Instead, if the medium is being used by the Bluetooth transceiver in the terminal when the WLAN transceiver in the terminal tries to access the medium, the WLAN packet is not permanently lost, but can be retransmitted as provided by the IEEE 802.11 standard. On the average, the WLAN transceiver in the terminal will have to retransmit once every 3rd packet, which increases WLAN retransmissions by 30%.
The interference problem of WLAN and Bluetooth transceivers operating in the same terminal has been recognized in the prior art. The IEEE has developed a recommended practice to handle this problem, which is published in the IEEE Standards 802, Part 15.2: Coexistence of Wireless Personal Area Networks with Other Wireless Devices Operating in Unlicensed Frequency Bands. This IEEE recommended practice is based on establishing a control block between the WLAN and Bluetooth transceivers in a terminal. The control block assigns a higher priority to Bluetooth transmissions than to WLAN transmissions and selects which one of those transceivers is to be operating at a particular instant.
The first problem with the IEEE recommended practice is that it is only a recommendation and thus it cannot be known whether and how different WLAN transceiver manufacturers will implement this recommendation for access points and mobile terminals. Secondly the IEEE recommended practice assigns the WLAN acknowledgement (ACK) packet to have priority over the Bluetooth packet during WLAN retransmissions of interrupted WLAN packets. This will directly cause some permanent packet losses for the Bluetooth transceiver.
What is needed in the prior art is a method to reduce interference in simultaneous WLAN and Bluetooth signal handling, especially in voice over IP communications via a WLAN telephone to a Bluetooth headset.